package com.wondertek.poms.core.service;

import java.util.List;

import org.springframework.data.domain.Page;

import com.wondertek.poms.common.service.IService;
import com.wondertek.poms.dao.po.SysDictData;

/**
 * <p><b>ISysDictDataService Description:</b> 字典数据表管理 </p>
 *
 * @author wzq
 * <p><b>DATE</b> 2019-08-13 11:02:01</p>
 */
public interface ISysDictDataService extends IService<SysDictData, Long> {
    /**
     * 查询字典全部数据
     */
    Page<SysDictData> findAllData(SysDictData entity, int page, int rows, String sord, String sidx);

    /**
     * 逻辑删除或停用 status
     */
    SysDictData deleteAndStopLogic(Long id, Integer status);

    /**
     * 根据type查询所有未删除和停用的数据
     * 此时如果缓存里有该type，则直接从缓存取
     */
    List<SysDictData> findAllByType(String type);

    /**
     * 删除或停用此字典   如果有子节点 则不能停用  但可以删除，删除会把所有子节点都删除
     */
    void deleteById(SysDictData dictData);

    String deleteLogic(SysDictData dictData);

    List<SysDictData> getByParentId(Long parentId);
}